package org.yefei.homeworkday28.Three;

import java.io.*;
import java.net.*;
import java.text.SimpleDateFormat;
import java.util.*;

public class ServerThread extends Thread {
	/*
	 * 3：假设有个Socket服务器，提供查询气温，风力，pm2.5,湿度等气象服务，请设计服务端和客户端实现， 提供退出功能，并防止服务端堵塞。
	 * 客户端选择要查询的类型，是气温，还是其他，服务端返回相应的值，并加上当前的日期（用yyyy-MM-dd
	 * hh:mm:ss格式），服务端通过多线程的方式提高性能
	 */
	private Socket ss;

	public ServerThread(Socket ss) {
		this.ss = ss;
	}

	@Override
	public void run() {
		Date date = new Date();
		SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		String format = sim.format(date);
		try {
			InputStream in = ss.getInputStream();
			OutputStream os = ss.getOutputStream();
			BufferedReader br = new BufferedReader(new InputStreamReader(in));
			PrintWriter pw = new PrintWriter(os);
			while (true) {
				String ch = br.readLine();
				if (ch.equals("1"))
					pw.println(format + "  当前大部晴朗，气温26摄氏度，预计最高气温29摄氏度");
				else if (ch.equals("2"))
					pw.println(format + "  今日风力3-4级，东南风3m/s");
				else if (ch.equals("3"))
					pw.println(format + "  pm2.5指数118，轻度污染");
				else if (ch.equals("4"))
					pw.println(format + "  相对湿度67%");
				else if (ch.equals("5"))
					break;
				else
					break;

				pw.flush();
			}
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (ss != null)
				try {
					ss.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
		}
	}

}
